package bean

/*
Person
结构体：struct关键字
1.内部属性首字母大写，可被其他包访问
2.函数可以声明调用对象，声明后，只能当前结构体对象可以调用此方法
3.匿名属性：属性类型没有重复的情况下，属性名称可以省略，默认的名字为属性的类型，使用`对象.属性`获取值
*/
type Person struct {
	string  // 默认名称为string
	int     // 默认名称为int
	float64 // 默认名称为float64
}

type Student struct {
	Name     string
	Age      int
	PassWord string
}

/*
SetName
这里如果需要修改结构体中的值，必须传入指针变量
*/
func (s *Student) SetName(name string) {
	// (*s).Name = name	// 实际的代码段应该使用 *s 调用属性
	s.Name = name // go编译器会优化，自动推断出调用的对象
}
